package com.qjdchina.sku.biz;

import java.util.List;
import java.util.Map;

import com.qjdchina.commons.model.PageModel;
import com.qjdchina.commons.result.Result;
import com.qjdchina.sku.model.query.ProductSetQueryVO;
import com.qjdchina.sku.model.vo.ConfigurationVO;
import com.qjdchina.sku.model.vo.ProductSetCompareVO;
import com.qjdchina.sku.model.vo.ProductSetVO;

public interface ProductSetManager {
	/**
	 * 根据条件分页查询项目
	 * shenpingfeng
	 * 2017年1月4日
	 * @param productSetQueryVO
	 * @param pageModel
	 * @return
	 */
	public Result<PageModel<ProductSetVO>> queryPagedProductSetList(ProductSetQueryVO productSetQueryVO,PageModel<ProductSetVO> pageModel);
	/**
	 * 创建产品
	 * shenpingfeng
	 * 2017年1月4日
	 * @param productSetVO
	 * @return
	 */
	public Result<Integer> createProductSet(ProductSetVO productSetVO);
	/**
	 * 获取产品详情
	 * shenpingfeng
	 * 2017年1月4日
	 * @param productSetId
	 * @return
	 */
	public Result<List<ConfigurationVO>> queryProductSetDetail(Integer productSetId);

	/**
	 * 产品库对比
	 *
	 * @param productSetIdList
	 * @return
	 */
	Result<Map<String,ProductSetCompareVO>> productSetCompare(List<Integer> productSetIdList);

	/**
	 * 更新产品
	 * shenpingfeng
	 * 2017年1月5日
	 * @param productSetVO
	 * @return
	 */
	public Result<Integer> updateProductSet(ProductSetVO productSetVO);
	/**
	 * 删除部品
	 * shenpingfeng
	 * 2017年1月9日
	 * @param id
	 * @return
	 */
	public Result<Integer> deleteComponent(Integer id);

	/**
	 * 复制重命名产品库
	 *
	 * @param productSetId
	 * @param productSetName
	 * @param userId
	 * @return
	 */
	Result<Integer> renameProductSet(Integer productSetId, String productSetName, Integer userId);
}
